package com.mt.mtbusinessmanagementsystem.pojo.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.mt.mtbusinessmanagementsystem.pojo.entity.FileInfo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.stereotype.Repository;
import org.springframework.web.multipart.MultipartFile;

import java.time.LocalDateTime;
import java.util.ArrayList;

@Builder
@Repository
@Data
@AllArgsConstructor
@NoArgsConstructor
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public class ProductsDTO {
    private Integer id;
    private String productsId;
    private String productsEnglishName;
    private String productsChineseName;
    private Integer vendorCompanyId;
    private String screenSize;
    private String housingStyling;
    private Integer brandId;
    private String model;
    private String filmColorType;
    private String filmSurfaceLayerTouchFeel;
    private String shellColor;
    private String productsImageArrayId;
    private Double purchasePrice;
    private Double salePrice;
    private Integer saleNumberYearPlan;
    private Double saleTotalMoneyYearPlan;
    private Double saleProfitYearPlan;
    private Integer saleNumberYearActual;
    private Double saleTotalMoneyYearActual;
    private Double saleProfitYearActual;
    private Integer productsNumber;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime date;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;
    private String productsClassificationTypeId;
    private String productsClassificationTypeName;
    private String employeeId;
    private Integer deptId;
    private String deptName;
    private Integer postsId;
    private String postsName;
    private String vendorCompanyChineseName;
    private String vendorCompanyEnglishName;
    private MultipartFile[] files;
    private Integer pageNumber;
    private Integer pageSize;
    private ArrayList<FileInfo> fileList;
    private Double productsMoney;
    private Integer inOrOutStorage;
}
